package com.knowvoyage.knowvoyageserver.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Schema(description = "前端传给后端的学习记录类，只需要duration参数即可，其他参数由后端自动获取")
@Data
public class AiChatDto {
    @Schema(description = "对话上文，后端返回时该内容为空")
    private String beforeContent;

    @NotNull(message = "对话ID不能为空")
    @Schema(description = "对话ID")
    private String dialogId;

    @NotNull(message = "对话内容不能为空")
    @Schema(description = "对话内容")
    private String ask = "";

    @Schema(description = "问题回复，前端发送时该内容为空即可，后端返回时该内容为问题的回复")
    private String reply;

    @Schema(description = "对话模式，0为无预设，1为语音对话，2为解题，3为出题")
    private String mode = "0";

    @Schema(description = "对话模型")
    private String model = "DeepSeek-R1";

    @Override
    public String toString() {
        return "AiChatDto{" +
                "beforeContent='" + beforeContent + '\'' +
                ", dialogId='" + dialogId + '\'' +
                ", ask='" + ask + '\'' +
                ", reply='" + reply + '\'' +
                ", mode='" + mode + '\'' +
                ", model='" + model + '\'' +
                '}';
    }
}
